﻿using ApiGateway.Interface;
using HttpApiGateway.Interface;
using System.Reflection;

namespace HttpApiGateway
{
    internal interface IApiRoute : IRoute, System.IDisposable
    {
        int Id { get; }
        bool IsRegex { get; }
        /// <summary>
        /// 上传配置
        /// </summary>
        IUpCheck UpCheck { get; }

        MethodInfo Source { get; }

        void ExecApi(IService service);
        bool ReceiveRequest(IService service);
        void CheckUpFormat(IApiService service, string fileName, int num);
        void InitRoute();
        void CheckFileSize(IApiService service, long fileSize);
        bool CheckCache(IApiService service, string etag, string toUpdateTime);
    }
}